ποΈGitΠ―ΡΠ°ποΈ
docs/README.md 41366bb48d5dc06c1da80d2d723848ec29fb12bc (41366bb4) Text, 3.43 KB
Documentation Structure
This directory contains the source documentation for the Meshtastic Android/Desktop/iOS app.
It serves three consumers:
1. In-app docs browser β bundled via Compose Resources at build time
2. Jekyll site β GitHub Pages (this directory is the Jekyll source root)
3. meshtastic.org β Docusaurus sync (upstream consumption)
Locale Layout
T282828
docs/
βββ _config.yml, _data/, _layouts/, _sass/ β Jekyll site infrastructure
βββ en/ β English source (edit here)
β βββ user/ β User Guide pages
β βββ developer/ β Developer Guide pages
β βββ index.md β Site home page
β βββ user.md β User Guide nav parent
β βββ developer.md β Developer Guide nav parent
βββ fr-rFR/ β French (Crowdin-generated)
β βββ user/ β Translated user guide
βββ de-rDE/ β German (Crowdin-generated)
β βββ user/
βββ ... β Other locales
Editing Guidelines
β’ English source: Edit files under T383838docs/en/. These are the authoritative source.
β’ Translations: Do not edit files in locale folders directly. They are auto-generated
by Crowdin and will be overwritten on sync.
Contribute translations via Crowdin instead.
β’ Adding a page: Create the T383838.md file in T383838docs/en/user/ or T383838docs/en/developer/, then
register it in T383838feature/docs/.../DocBundleLoader.kt for in-app bundling.
How Translations Work
1. English source files (T383838docs/en/user/*.md) are uploaded to Crowdin as translation sources
2. Volunteers translate via the Crowdin web UI
3. Crowdin PRs land translated files at T383838docs/{android_code}/user/*.md (e.g., T383838fr-rFR, T383838pt-rBR)
4. At build time, the Gradle T383838syncTranslatedDocsToComposeResources task bundles them into
locale-qualified Compose Resources for the in-app reader
5. The in-app T383838DocBundleLoader tries the user's locale first, then falls back to English
Publishing & Versioning
The GitHub Pages site is published to the persistent T383838gh-pages branch as parallel
channels (GitHub Pages must be configured to serve from that branch):
ββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β Path β Content β Published by β
ββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€
β T383838/ β Latest published release (default landing) β T383838docs-release.yml on T383838vX.Y.Z tags β
β T383838/vX.Y.Z/ β Permanent per-release copy β T383838docs-release.yml on T383838vX.Y.Z tags β
β T383838/main/ β Snapshot of the T383838main branch β T383838docs-deploy.yml on pushes to T383838main β
β T383838/api/ β Dokka API reference β both workflows β
β T383838/versions.json β Version manifest for the site's version swβ¦ β regenerated on every deploy β
ββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββ
Each deploy overlays only its own channels via T383838scripts/docs/publish-to-gh-pages.sh,
so release history accumulates instead of being wiped by the next deploy. The header
version dropdown (T383838_includes/version_switcher.html) reads T383838/versions.json at runtime;
a separate header link points to the upstream docs at meshtastic.org. To backfill a
release (e.g. after first enabling this), run the "Docs Release" workflow manually
against the release tag.
Served by rngit 1.5.2 - Generated in 0.03s